package com.easylinkin.linkappapi.circuit.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.easylinkin.linkappapi.common.translate.Code2Text;
import com.easylinkin.linkappapi.common.translate.CodeI18n;
import com.easylinkin.linkappapi.common.translate.impl.DictTranslateor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**AI综合安防行为记录
 * @author lyk
 * @date 2025/6/23 上午 11:52
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("rail_linkapp_ai_host_record")
@CodeI18n
public class RailLinkappAiHostRecord  extends Model<RailLinkappAiHostRecord> implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 设备唯一标识
     */
    @TableField("device_code")
    private String deviceCode;

    /**
     * 识别规则类型 参考字典ai_rule_type
     */
    @TableField("ai_rule_type")
    @Code2Text(translateor = DictTranslateor.class, value = "ai_rule_type")
    private String aiRuleType;

    /**
     * 图片地址
     */
    @TableField("image")
    private String image;
    /**
     * 摄像头SN码
     */
    @TableField("ipc_sn")
    private String ipcSn;
    /**
     * 摄像头SN码
     */
    @TableField("ipc_address")
    private String ipcAddress;
    /**
     *  在线状态 枚举值：0 - 离线 1 - 在线
     */
    @TableField("channel_status")
    private String channelStatus;
    /**
     *  事件类型 参考字典ai_event_type'
     */
    @TableField("ai_event_type")
    @Code2Text(translateor = DictTranslateor.class, value = "ai_event_type")
    private String aiEventType;
    /**
     * 有无对比结果 :0 - 无对比结果1 - 有对比结果
     */
    @TableField("has_result")
    private String hasResult;
    /**
     * 行为分析数据
     */
    @TableField("behaviour_json")
    private String behaviourJson;
    /**
     * 租户id
     */
    @TableField("tenant_id")
    private String tenantId;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 视频设备名称/通道名称
     */
    @TableField("channel_name")
    private String channelName;


}
